package com.hongxin.nw.netty.mq_info;

import com.alibaba.fastjson.JSONObject;
import com.hongxin.nw.netty.model.Transfer;
import com.hongxin.nw.netty.model.analysis.info.ExDTmmenb1;
import com.hongxin.nw.netty.mq_info.domain.CMD302;
import com.hongxin.nw.netty.utils.JSONUtils;
import com.hongxin.nw.netty.utils.ModifyJsonKeyUtil;
import com.hongxin.nw.netty.values.Catalogue;
import com.hongxin.nw.netty.values.StaticValue;
import com.hongxin.nw.netty.values.TypeIdentif;

import java.util.List;

/**
 * @remark 交流 ,充电信息302+104
 * @author: GuoXiaolin
 * @date 2019/6/21 19:26
 * @Version 1.0
 * @Descibe
 */
public class ExChargeInfos implements IMq {
    @SuppressWarnings("unchecked")
    @Override
    public JSONObject sendMqInfo(Transfer transfer) throws Exception {
        String code = transfer.getCode();
        List<ExDTmmenb1> myl = (List<ExDTmmenb1>)transfer.getObj();
        CMD302 cmd302 = new CMD302();
        cmd302.setMachineId(code);//设备编号
        cmd302.setEquipType(TypeIdentif.E_TYPE_COMMUNICATION.getStr());
        cmd302.setInterfaceNumber(String.valueOf(myl.get(0).getGun()+1));//枪口编号
        for (ExDTmmenb1 dataItem : myl) {
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_0.getInt()) {
                cmd302.setWorkingState(dataItem.getValue());
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_1.getInt()) {
                cmd302.setOutputVoltageOfChargePile(dataItem.getValue());//充电输出电压
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_2.getInt()) {
                cmd302.setOutputCurrentOfChargePile(dataItem.getValue());//充电输出电流
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_3.getInt()) {
                cmd302.setVoltageACA(dataItem.getValue());// （当前）A相电压
                cmd302.setOutputVoltageOfChargePile(dataItem.getValue());
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_4.getInt()) {
                cmd302.setVoltageACB(dataItem.getValue());// （当前）B相电压
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_5.getInt()) {
                cmd302.setVoltageACC(dataItem.getValue());// （当前）C相电压
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_6.getInt()) {
                cmd302.setCurrentACA(dataItem.getValue());// （当前）A相电流
                cmd302.setOutputCurrentOfChargePile(dataItem.getValue());
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_7.getInt()) {
                cmd302.setCurrentACB(dataItem.getValue());// （当前）B相电流
            }
            if (dataItem.getInfoAdr_i() == TypeIdentif.INFO_PILE_11_8.getInt()) {
                cmd302.setCurrentACC(dataItem.getValue());// （当前）C相电流
            }
        }
        JSONObject json = (JSONObject) JSONObject.toJSON(cmd302);
        json.put(Catalogue.HXCMD, Catalogue.CMD302);
        JSONObject mqJson = ModifyJsonKeyUtil.removeEmptyKey(json);


        return JSONUtils.getRoot(0, StaticValue.VAL_27, mqJson);
    }

}
